package com.itheima._03最终处理方案;

import com.itheima._02自定义异常.AgeIllegalRuntimeException;

import java.util.Scanner;

/**
 * @Description Demo032
 * @Author GreenHand_Lu
 * @Date 2025-07-19
 */
//异常处理最终方案1：底层方法抛出异常给外部，最外部要捕获给用户显示友好信息
public class Demo032 {

    public static void main(String[] args){
        //main方法就是处理用户请求的方法，这里不可以抛出异常给用户，要捕获异常
        try {
            setAge(201);//这里会抛出编译时异常，结束程序
            setAge(100);
        } catch (AgeIllegalRuntimeException e) {//子类常捕异常在上
            e.printStackTrace();//打印异常信息给程序员去解决文档
            System.out.println("您输入的年龄不合法，请重新输入");//返回给前端给用户看
        }catch (Exception e) {//父类异常捕获在下，这个捕获是兜底
            e.printStackTrace();//打印异常信息给程序员去解决文档
            System.out.println("系统繁忙，请稍候重试");//返回给前端给用户看
        }
    }
    public static void setAge(int age){
        if(age<0 || age>200){
            throw new AgeIllegalRuntimeException("年龄不合法");//抛给调用者
            // throw new RuntimeException("年龄不合法");
        }
        System.out.println("年龄为："+age);
    }
}
